草庐IT

php - 匿名类构造

全部标签

c# - 匿名类型属性 setter

为什么匿名类型没有属性setter?vara=new{Text="Hello"};a.Text="World";//error 最佳答案 匿名类型在设计上是不可变的。匿名类型旨在保存值,表示值的类型不应该是可变的。此外,这会使它们在字典中变得不可靠,因为哈希码在创建后可能会发生变化。许多LINQ方法都使用字典,尤其是在延迟求值的情况下,具有可变类型的LINQ可能会导致微妙的神秘错误。 关于c#-匿名类型属性setter,我们在StackOverflow上找到一个类似的问题:

c# - LINQ vs Lambda vs 匿名方法 vs 委托(delegate)

谁能解释一下LINQ、Lambda、匿名方法和委托(delegate)的含义?这三者有何不同?一个可以替换另一个吗?我在谷歌搜索时没有得到任何具体答案 最佳答案 LINQ是一个宽泛的技术名称,涵盖了.NET3.5的大部分内容和C#3.0的变化;“用语言查询”等等。委托(delegate)相当于函数指针;一个“方法句柄”作为一个对象,如果你愿意的话,即Funcadd=(a,b)=>a+b;是一种编写我随后可以调用的委托(delegate)的方法。委托(delegate)还支持事件和其他回调方法。匿名方法是用于创建委托(delegate

c# - 没有无参数构造函数的类型的 Activator.CreateInstance(Type)

这个问题在这里已经有了答案:CreatinginstanceoftypewithoutdefaultconstructorinC#usingreflection(4个答案)关闭9年前。阅读工作中的现有代码,我想知道这怎么能行得通。我在程序集中定义了一个类:[Serializable]publicclassA{privatereadonlystring_name;privateA(stringname){_name=name;}}在另一个程序集中:publicvoidf(Typet){objecto=Activator.CreateInstance(t);}和那个简单的调用f(typeo

c# - 静态构造函数会导致性能开销?

最近在dotnetpearls.com上阅读一篇文章here说静态ctors会受到大量的性能影响。不明白为什么? 最佳答案 我认为在大多数用例中“大量”是一种夸大其词。由于beforefieldinitflag的存在/不存在,拥有静态构造函数(即使它什么也不做)会影响类型初始化时间.当你有一个静态构造函数时,对时间有更严格的保证。对于大多数代码,我认为这没有太大区别-但如果您是紧密循环并访问类的静态成员,则可能会有所不同。就我个人而言,我不会太担心它-如果您怀疑它与您的真实应用程序相关,那么测试它而不是猜测。微基准测试很可能会夸大此

c# - 如何使用 StructureMap 通过代码定义默认构造函数?

我不知道如何通过代码为StructureMap(版本2.5)中的类型定义默认构造函数(当它存在重载时)。我想获取一个服务实例,容器必须向其中注入(inject)一个Linq2Sql数据上下文实例。我在我的“Bootstrap”方法中写了这个:ForRequestedType().TheDefault.Is.OfConcreteType();当我运行我的应用程序时,出现此错误:StructureMapExceptionCode:202NoDefaultInstancedefinedforPluginFamilyMyNamespace.Data.SqlRepository.MyDataCo

c# - 如何从绑定(bind)到 List<T> 或匿名类型的绑定(bind)源中获取正确的映射名称以用于 DataGridTableStyle?

我正在尝试创建一个DataGridTableStyle对象,以便我可以控制DataGrid的列宽。我创建了一个绑定(bind)到列表的BindingSource对象。实际上,它绑定(bind)到通过Linq以下列方式创建的匿名类型列表(为了清楚我正在做的事情而更改了变量名称):ListmyList=newList(someCapacity);....populatethelistwithqueryfromdatabase....varquery=fromiinmyListselectnew{i.FieldA,i.FieldB,i.FieldC};myBindingSource.Data

c# - 字符串构造器

我们可以说,stringmyString="Hello";它“神奇地”构造了一个包含该值的新字符串对象。为什么不能将类似的“无构造”方法用于从我们在代码中定义的类创建的对象?VS对string的“魔力”是什么?而对于enum呢?我从未见过有关其工作原理的解释。 最佳答案 基本上,它是C#语言规范的一部分:有字符串文字、数字文字、字rune字和bool文字的语法,但仅此而已。编译器使用这些文字来生成IL,对于大多数,“特定类型的常量”都有合适的指令,因此直接表示。decimal是一个异常(exception),它不是CLR的原始类型,

c# - 在 C# 中将匿名对象作为参数传递

我在将匿名对象作为参数传递给方法时遇到问题。我想像在JavaScript中一样传递对象。示例:functionTest(obj){returnobj.txt;}console.log(Test({txt:"test"}));但在C#中,它会抛出许多异常:classTest{publicstaticstringTestMethod(IEnumerableobj){returnobj.txt;}}Console.WriteLine(Test.TestMethod(new{txt="test"}));异常(exception)情况:参数1:无法从“AnonymousType#1”转换为'Sy

c# - 为什么这个静态构造函数没有被调用?

我正在创建asp.net网络服务。我有一个类,当我尝试初始化该类的对象时,它的静态构造函数没有被调用。我无法理解这种行为。在静态构造函数中,我正在从web.config文件中读取值。部分代码如下:[WebService(Namespace="http://tempuri.org/")][WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1_1)]publicclassService:System.Web.Services.WebService{AppControllerextractor;publicService(){try{e

c# - 我可以在 C# 中将 json 反序列化为匿名类型吗?

我从数据库中读取了一个很长的json。我只想要该json的一个属性。我有两个选择:一种。为该json创建一个接口(interface)并反序列化到该接口(interface)。(这是不是太过分了,因为我只需要一个属性?)b.找到我需要的子字符串(正则表达式?)首选哪个?更新:我正在使用.net3.5 最佳答案 你为什么不反序列化使用JSON.NET的“LINQtoJSON”方法(JObject等)并仅通过名称询问您需要的值?这是足够动态的,因此您不需要为一切创建接口(interface),但它比使用正则表达式要安全得多。JObjec